var base_url;

$(document).ready(function() {
    base_url=$('#base_url').html();
    console.log("INFO: ************** CONFIRMACION CONTROLLER ****************");

    setDataFiltrosSinFecha(localStorage.origen, localStorage.destino);//ruta
    $('#fechaHoraText').text(formatDateHourString(localStorage.fecha,localStorage.hora));
    if (localStorage.procedencia==PROCEDENCIA_RESERVAR) {
        $('#numAsientosText').text(localStorage.numAsientos);
        $('#form1_btn_reservar').hide();
    } else {
        setNumAsientosFromArrays();
        $('#form1_btn_reservar').show();
    }

    setDataPasajeros();
    $('#formaPagoText').text(localStorage.formaPago);
    $('#tarjetaText').text(localStorage.tarjeta);
    $('#montoText').text(SOLES+localStorage.montoTotal);



    $('#form1_btn_reservar').click(function() {
        localStorage.accion =ACCION_RESERVAR;
        reservarPasajes();
    });

    $('#form1_btn_comprar').click(function() {
        localStorage.accion =ACCION_COMPRAR;
        if (localStorage.procedencia==PROCEDENCIA_COMPRAR) {
            comprarPasajes();
        } else { // proviene de mis reservas
            comprarPasajesReservados();
        }
    });

    $('#form1_btn_atras').click(function() {
        history.go(-1);
    });
});

/*function setDataAsientosSeleccionados () {
    var asientos1= JSON.parse(localStorage.asientosPrimerPiso);
    var asientos2= JSON.parse(localStorage.asientosSegundoPiso);
    var cad='';
    var cont;

    for (cont=0; cont<asientos1.length; cont++) {
        cad+=asientos1[cont]+ESPACIO_VACIO;
    }
    for (cont=0; cont<asientos2.length; cont++) {
        cad+=asientos2[cont]+ESPACIO_VACIO;
    }
    $('#asientosText').text(cad);
}*/

function setNumAsientosFromArrays () {
    var asientos1= JSON.parse(localStorage.asientosPrimerPiso);
    var asientos2= JSON.parse(localStorage.asientosSegundoPiso);
    var cont1= asientos1.length;
    var cont2= asientos2.length;

    $('#numAsientosText').text(cont1+cont2);
}

function reservarPasajes () {
    var idUsuario = localStorage.idUsuario;
    var idProgramacion = localStorage.idProgramacion;
    var montoPagar = localStorage.montoTotal;
    var asientos = joinAsientos(JSON.parse(localStorage.asientosPrimerPiso), JSON.parse(localStorage.asientosSegundoPiso));
    var pasajeros = new Array();
    pasajeros[0]="carlos";//TODO: falta implementar
    var formaPago = localStorage.formaPago;
    var tarjeta = localStorage.tarjeta;
    //alert(idUsuario + idProgramacion + montoPagar + asientos+ pasajeros + formaPago +tarjeta);

    putReservaClienteAjax(idUsuario, idProgramacion, montoPagar, asientos, pasajeros, formaPago, tarjeta);
}

function comprarPasajes () {
    var idUsuario = localStorage.idUsuario;
    var idProgramacion = localStorage.idProgramacion;
    var montoPagar = localStorage.montoTotal;
    var asientos = joinAsientos(JSON.parse(localStorage.asientosPrimerPiso), JSON.parse(localStorage.asientosSegundoPiso));
    var pasajeros = new Array();
    pasajeros[0]="carlos";//TODO: falta implementar
    var formaPago = localStorage.formaPago;
    var tarjeta = localStorage.tarjeta;
    //alert(idUsuario + idProgramacion + montoPagar + asientos+ pasajeros + formaPago +tarjeta);

    putCompraClienteAjax(idUsuario, idProgramacion, montoPagar, asientos, pasajeros, formaPago, tarjeta);

}

function comprarPasajesReservados () {
    updateReservaClienteAjax(localStorage.idReserva);
}

function putReservaClienteAjax(idUsuario, idProgramacion, montoPagar, asientos, pasajeros, formaPago, tarjeta){
    var asientosWS= asientos.join('-');
    var pasajerosWS= pasajeros.join('-');
    var method = WS_SERVER+'operaciones/reserva/idUsuario/' +idUsuario + '/idProgramacion/' + idProgramacion + '/montoPagar/' +montoPagar + '/asientos/' +asientosWS + '/pasajeros/' + pasajerosWS + '/formaPago/' +formaPago + '/tarjeta/' +tarjeta + '/format/json';
    //var method = WS_SERVER+'operaciones/reserva/idUsuario/1/idProgramacion/1/montoPagar/200/asientos/1/pasajeros/1/formaPago/Tarjeta/tarjeta/Visa/format/json';
    console.log("WS: "+method);

    $.ajax({
        type: 'post',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            if (data==null){
                alert('Entro null putReservaClienteAjax1. No se pudo registrar la reserva.');
            } else {
                //alert('Reserva: '+data);
                callUrlFromJS('online/resultado');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
            console.log("ERROR_METHOD: putReservaClienteAjax");
            console.log("ERROR_WS: "+method);
            
            alert('Entro null putReservaClienteAjax2. No se pudo registrar la reserva.');
        }
    });
}

function putCompraClienteAjax(idUsuario, idProgramacion, montoPagar, asientos, pasajeros, formaPago, tarjeta){
    var asientosWS= asientos.join('-');
    var pasajerosWS= pasajeros.join('-');
    var method = WS_SERVER+'operaciones/venta/idUsuario/'+idUsuario+'/idProgramacion/'+idProgramacion+'/montoPagar/'+montoPagar+'/asientos/'+asientosWS+'/pasajeros/'+pasajerosWS+'/formaPago/'+formaPago+'/tarjeta/'+tarjeta+'/format/json';
    //var method = WS_SERVER+'operaciones/venta/idUsuario/1/idProgramacion/1/montoPagar/250/asientos/1/pasajeros/1/formaPago/Tarjeta/tarjeta/Visa/format/json';
    console.log("WS: "+method);

    $.ajax({
        type: 'post',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            if (data==null){
                alert('Entro null putCompraClienteAjax1. No se pudo registrar la compra.');
            } else {
                //alert('Compra: '+data);
                callUrlFromJS('online/resultado');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
            console.log("ERROR_METHOD: putCompraClienteAjax");
            console.log("ERROR_WS: "+method);
            
            alert('Entro null putCompraClienteAjax2. No se pudo registrar la compra.');
        }
    });
}

function updateReservaClienteAjax(idReserva){
    var method = WS_SERVER+'operaciones/ventaReserva/idReserva/' +idReserva + '/format/json';
    //var method = WS_SERVER+'operaciones/ventaReserva/idReserva/1/format/json';
    console.log("WS: "+method);

    $.ajax({
        type: 'post',
        url: method,
        dataType: 'json',
        data: '',
        cache: false,
        success: function(data){
            if (data==null){
                alert('Entro null updateReservaClienteAjax1. No se pudo registrar la compra de pasajes reservados.');
            } else {
                //alert('Filas Afectadas: '+data);
                callUrlFromJS('online/resultado');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
            console.log("ERROR_METHOD: putCompraClienteAjax");
            console.log("ERROR_WS: "+method);
            
            alert('Entro null updateReservaClienteAjax2. No se pudo registrar la compra de pasajes reservados.');
        }
    });
}

/*function putCompraClienteAjax(idUsuario, idProgramacion, montoPagar, asientos, pasajeros, formaPago, tarjeta){
    var method = base_url+'online/putCompraClienteAjax';

    var parametros = {
        'idUsuario' : idUsuario,
        'idProgramacion' : idProgramacion,
        'montoPagar' : montoPagar,
        'asientos' : asientos,
        'pasajeros' : pasajeros,
        'formaPago' : formaPago,
        'tarjeta' : tarjeta
    };

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: parametros,
        cache: false,
        success: function(data){
            if (data==null){
                alert('Entro null putCompraClienteAjax. No se pudo registrar la compra.');
            } else {
                //alert('Compra: '+data);
                callUrlFromJS('online/resultado');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
        }
    });
}*/

/*function putReservaClienteAjax(idUsuario, idProgramacion, montoPagar, asientos, pasajeros, formaPago, tarjeta){
    var method = base_url+'online/putReservaClienteAjax';

    var parametros = {
        'idUsuario' : idUsuario,
        'idProgramacion' : idProgramacion,
        'montoPagar' : montoPagar,
        'asientos' : asientos,
        'pasajeros' : pasajeros,
        'formaPago' : formaPago,
        'tarjeta' : tarjeta
    };

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: parametros,
        cache: false,
        success: function(data){
            if (data==null){
                alert('Entro null putReservaClienteAjax. No se pudo registrar la reserva.');
            } else {
                //alert('Reserva: '+data);
                callUrlFromJS('online/resultado');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
        }
    });
}*/

/*function updateReservaClienteAjax(idReserva){
    var method = base_url+'online/updateReservaClienteAjax';

    var parametros = {
        'idReserva' : idReserva
    };

    $.ajax({
        type: 'get',
        url: method,
        dataType: 'json',
        data: parametros,
        cache: false,
        success: function(data){
            if (data==null){
                alert('Entro null updateReservaClienteAjax. No se pudo registrar la compra de pasajes reservados.');
            } else {
                //alert('Filas Afectadas: '+data);
                callUrlFromJS('online/resultado');
            }
        },
        error: function(jqXHR, textStatus, errorThrown){
            console.log("ERROR: Ajax Request: "+textStatus+", "+errorThrown);
        }
    });
}*/